在c#中逐行读取大文件 |
您所在的位置:网站首页 › c 读取文件一行 › 在c#中逐行读取大文件 |
我在c#中有大量文件(超过300 MB).我需要有效的方式逐行读取文件,因为一旦我尝试读取它,它需要超过30分钟,而目标时间约为3分钟.我尝试了File.ReadAllBytes,它成功且非常快速地读取文件并将其加载到字符串中.但在那之后,逐行处理字符串需要很长时间.是否有更好的方法或更快的方法. 预先感谢. 1> Kamil Budzie..: 您可以使用File.ReadLines,它将通过文件行枚举: var lines = File.ReadLines(path); foreach(var line in lines) { // do your logic here }它不会在第一行加载文件.它会在循环时加载它lines,因此读取更大的文件比一次加载它更好. MSDN在描述中说 File.ReadLines 备注ReadLines和ReadAllLines方法的不同之处如下:使用ReadLines时,可以在返回整个集合之前开始枚举字符串集合; 当您使用ReadAllLines时,必须等待返回整个字符串数组才能访问该数组.因此,当您使用非常大的文件时,ReadLines可以更高效. 来自msdn的添加信息:>使用ReadLines时,可以在返回整个集合之前开始枚举字符串集合; 当您使用ReadAllLines时,必须等待返回整个字符串数组才能访问该数组.因此,当您使用非常大的文件时,ReadLines可以更高效. |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |